Skip to content

Conversation

@lpechacek
Copy link
Member

Although the Move Parallel tool does not behave perfectly in every situation (shape distortion on small curves and bevel-join-like corner cuts on sharp corners), it works fine on "sensible" shapes. This is still an improvement over the current state where the best approximation of this tool is the Line Edit tool or tricks with helper double lines.

@lpechacek lpechacek force-pushed the issue-650-move-parallel-tool branch from 41eaeb1 to 33fd032 Compare November 15, 2021 11:17
@lpechacek lpechacek changed the title Issue 650 - Move Parallel Tool Add the Move Parallel Tool Nov 15, 2021
@lpechacek lpechacek marked this pull request as ready for review November 15, 2021 12:44
@dl3sdo
Copy link
Member

dl3sdo commented Nov 28, 2021

One small observation: although the Move Parallel tool can only be activated once an appropriate object has been selected, it stays activated once the object becomes unavailable (e.g., has been moved to another map part, has been deleted or it's underlying symbol has been deleted). That's not a big issue since you can deactivate the tool by choosing another tool.

@lpechacek lpechacek force-pushed the issue-650-move-parallel-tool branch from 33fd032 to 97c48bd Compare December 15, 2021 12:32
@lpechacek
Copy link
Member Author

One small observation: ...

Thanks for testing! I've aligned the new tool behavior with the other tools on this front.

Copy link
Member

@dg0yt dg0yt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the PR. I'm sorry that I couldn't test the feature yet.

@dg0yt dg0yt added this to the v0.9.6 milestone Dec 21, 2021
The tangent vector is essential for the move parallel tool where we
want to calculate the distance of the cursor from the tangent line
touching the path in question. Please note that we are generating a
"pseudo tangent" for corners and line ends to enable sensible
behavior during mouse drag events.
The tool moves lines and area boundaries to create a larger or
a smaller shape parallel to the original object. The tool reuses
LineSymbol::shiftCoordinates() which currently does not handle shape
degeneration. I.e., curve turns do not shrink into points but rather
form a "negative" shape that is a mathematically exact image of the
original curve but usually is not what the user expects.

Closes OpenOrienteeringGH-650
@lpechacek lpechacek force-pushed the issue-650-move-parallel-tool branch from 97c48bd to be4003f Compare December 30, 2021 09:38
@dl3sdo dl3sdo modified the milestones: v0.9.6, v0.9.6+1 Mar 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants